package com.geekhalo.admin.domain.user.changePassword;

import com.geekhalo.lego.core.command.CommandService;
import com.geekhalo.lego.core.command.CommandServiceDefinition;
import com.geekhalo.lego.core.command.CommandMethodDefinition;

import com.geekhalo.admin.domain.user.User;
import com.geekhalo.admin.domain.user.UserCommandRepository;

import com.geekhalo.admin.domain.user.changePassword.ChangePasswordCommand;
import com.geekhalo.admin.domain.user.changePassword.ChangePasswordContext;
import java.lang.Void;


@CommandServiceDefinition(domainClass = User.class, repositoryClass = UserCommandRepository.class)
public interface ChangePasswordService
    extends CommandService<ChangePasswordCommand, Void> {

    @Override
    @CommandMethodDefinition(contextClass = ChangePasswordContext.class)
    Void execute(ChangePasswordCommand command);
}
